<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	//1. 依次输出什么?
	//2. 整个过程中产生了几个执行上下文?答5个
	/*
	[
		fooContext,--->i=4
		fooContext,--->i=3
		fooContext,--->i=2
		fooContext,--->i=1
		globalContext
	]
	
	* */
	// 输出：
	// global begin: undefined
	// foo() begin:1
	// foo() begin:2
	// foo() begin:3
	// foo() end:3
	// foo() end:2
	// foo() end:1
	// global end:1
	function foo(i) {// i=3
		if (i == 4) return;
		console.log('foo() begin:' + i);
		foo(i + 1);
		console.log('foo() end:' + i);
	}
	var i;
	console.log('global begin: '+ i)
	i = 1
	foo(1);
	console.log('global end: ' + i)
</script>
</html>